package chain_apply

import (
	"chain_bridge_service/internal/pkg/core"
	"chain_bridge_service/internal/repository/mongodb"
	"chain_bridge_service/internal/services/chain_apply"
	"chain_bridge_service/internal/services/chain_to_chain"
	"go.uber.org/zap"
)

var _ Handler = (*handler)(nil)

type Handler interface {
	i()
	Create() core.HandlerFunc
	List() core.HandlerFunc
	GetList() core.HandlerFunc
}

type handler struct {
	logger            *zap.Logger
	chainApplyService chain_apply.Service
	chainService      chain_to_chain.Service
}

func New(logger *zap.Logger, db mongodb.Repo) Handler {
	return &handler{
		logger:            logger,
		chainApplyService: chain_apply.New(db),
		chainService:      chain_to_chain.New(db),
	}
}

func (h *handler) i() {}
